<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>1.Vue监测对象改变的原理</title>
        <!-- 引入Vue -->
        <script type="text/javascript" src="../js/vue.js"></script>
    </head>
    <body>
        <!-- 
            Vue 如何监测对象中的数据是改变的?
            (1)使用数据劫持技术,所谓的数据劫持,就是靠Object.defineProperty的setter完成的;
         (2)遍历data对象的所有层次为每一个属性都配:getter setter--监视数据改变
        -->
        <!-- 准备好一个容器-->
        <div id="demo">
            <h2>学校名称:{{name}}</h2>
            <h2>学校地址:{{address}}</h2>
            <button @click ="changeName">给学校改名字</button>
        </div>
    </body>

    <script type="text/javascript">
        //阻止 vue 在启动时生成生产提示。
        Vue.config.productionTip = false
        const vm =new Vue({
            el:'#demo',
            data :{
                name:'尚硅谷',
                address:'宏福科技园'
            },
            methods: {
                changeName(){
                    this.name = 'atguigu'
                }
            },
        })
        console.log(vm)
    </script>
</html>